package com.ssy.lingxi.member.merchant.api.model.vo.inner.request;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Positive;
import java.io.Serializable;

/**
 * 订单完成后，计算会员等级、权益、信用
 * @author 万宁
 * @version 2.0.0
 * @date 2020-10-20
 */
public class MemberFeignOrderVO implements Serializable {
    private static final long serialVersionUID = -5616716366689378928L;

    /**
     * 上级会员Id（卖方）
     */
    @NotNull(message = "上级会员Id要大于0")
    @Positive(message = "上级会员Id要大于0")
    private Long upperMemberId;

    /**
     * 上级会员角色Id（卖方）
     */
    @NotNull(message = "上级会员角色Id要大于0")
    @Positive(message = "上级会员角色Id要大于0")
    private Long upperRoleId;

    /**
     * 下级会员Id（买方）
     */
    @NotNull(message = "下级会员Id要大于0")
    @Positive(message = "下级会员Id要大于0")
    private Long subMemberId;

    /**
     * 下级会员角色Id（买方）
     */
    @NotNull(message = "下级会员角色Id要大于0")
    @Positive(message = "下级会员角色Id要大于0")
    private Long subRoleId;

    /**
     * 订单编号，不是数据库Id字段的Id
     */
    @NotBlank(message = "订单编号不能为空")
    private String orderNo;

    /**
     * 交易金额
     */
    @NotNull(message = "交易金额不能为空")
    private Double amount;

    public Long getUpperMemberId() {
        return upperMemberId;
    }

    public void setUpperMemberId(Long upperMemberId) {
        this.upperMemberId = upperMemberId;
    }

    public Long getUpperRoleId() {
        return upperRoleId;
    }

    public void setUpperRoleId(Long upperRoleId) {
        this.upperRoleId = upperRoleId;
    }

    public Long getSubMemberId() {
        return subMemberId;
    }

    public void setSubMemberId(Long subMemberId) {
        this.subMemberId = subMemberId;
    }

    public Long getSubRoleId() {
        return subRoleId;
    }

    public void setSubRoleId(Long subRoleId) {
        this.subRoleId = subRoleId;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public Double getAmount() {
        return amount;
    }

    public void setAmount(Double amount) {
        this.amount = amount;
    }
}
